package shm.capaDatos.vo;

import java.io.Serializable;

import shm.util.Utilidad;

public class StakeholderVO implements Serializable{
	private static final long serialVersionUID = 1L;
	private Integer id; 
	private Integer idHistorico;
	private CategoriaStakeholderVO categoriaStakeholder;
	private ProyectoVO proyecto;
	private String beneficiosProyecto;
	private String perjuiciosProyecto;
	private ImpactoProyectoVO impactoProyecto;
	private DatosContactoVO datosContactoDelegado;
	private TipoStakeholderVO tipoStakeholder;
	private PoderVO poder; 
	private PreocupacionVO preocupacion; 
	private CompromisoVO compromiso; 
	private DisposicionVO disposicion;  
	private String estrategiaGerenciamiento; 
	private InfluenciaVO influencia; 
	private ProximidadVO proximidad; 
	private ReceptividadVO receptividad;
	private String descripcion;
	private DatosContactoVO datosContacto;
	private EntendimientoRequerimientosVO entendimientoRequerimientos;
	private ConocimientoProcesosNegocioVO conocimientoProcesosNegocioFuncion;
	private EstadoStakeholderVO estado;
	private DatosAuditoriaVO datosAuditoria;
	
	public StakeholderVO(Integer id, Integer idHistorico,CategoriaStakeholderVO categoriaStakeholder, ProyectoVO proyecto, String beneficiosProyecto, 
			String perjuiciosProyecto, ImpactoProyectoVO impactoProyecto, DatosContactoVO datosContactoDelegado,TipoStakeholderVO tipoStakeholder,
			PoderVO poder,PreocupacionVO preocupacion, CompromisoVO compromiso, DisposicionVO disposicion,String estrategiaGerenciamiento,InfluenciaVO influencia, 
			ProximidadVO proximidad,ReceptividadVO receptividad,String descripcion,DatosContactoVO datosContacto, EntendimientoRequerimientosVO entendimientoRequerimientos, 
			ConocimientoProcesosNegocioVO conocimientoProcesosNegocioFuncion,EstadoStakeholderVO estado, DatosAuditoriaVO datosAuditoria) {
		super();
		this.id = id;
		this.idHistorico = idHistorico;
		this.categoriaStakeholder = categoriaStakeholder;
		this.proyecto = proyecto;
		this.beneficiosProyecto = beneficiosProyecto;
		this.perjuiciosProyecto = perjuiciosProyecto;
		this.impactoProyecto = impactoProyecto;
		this.datosContactoDelegado = datosContactoDelegado;
		this.tipoStakeholder = tipoStakeholder;
		this.poder = poder;
		this.preocupacion = preocupacion;
		this.compromiso = compromiso;
		this.disposicion = disposicion;
		this.estrategiaGerenciamiento = estrategiaGerenciamiento;
		this.influencia = influencia;
		this.proximidad = proximidad;
		this.receptividad = receptividad;
		this.descripcion = descripcion;
		this.datosContacto = datosContacto;
		this.entendimientoRequerimientos = entendimientoRequerimientos;
		this.conocimientoProcesosNegocioFuncion = conocimientoProcesosNegocioFuncion;
		this.estado = estado;
		this.datosAuditoria = datosAuditoria;
	}
	public StakeholderVO(){
		
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getIdHistorico() {
		return idHistorico;
	}

	public void setIdHistorico(Integer idHistorico) {
		this.idHistorico = idHistorico;
	}
	public DatosContactoVO getDatosContactoDelegado() {
		return datosContactoDelegado;
	}
	public void setDatosContactoDelegado(DatosContactoVO datosContactoDelegado) {
		this.datosContactoDelegado = datosContactoDelegado;
	}
	public TipoStakeholderVO getTipoStakeholder() {
		return tipoStakeholder;
	}
	public void setTipoStakeholder(TipoStakeholderVO tipoStakeholder) {
		this.tipoStakeholder = tipoStakeholder;
	}
	public PoderVO getPoder() {
		return poder;
	}
	public void setPoder(PoderVO poder) {
		this.poder = poder;
	}

	public PreocupacionVO getPreocupacion() {
		return preocupacion;
	}
	public void setPreocupacion(PreocupacionVO preocupacion) {
		this.preocupacion = preocupacion;
	}
	public DisposicionVO getDisposicion() {
		return disposicion;
	}
	public void setDisposicion(DisposicionVO disposicion) {
		this.disposicion = disposicion;
	}
	public String getEstrategiaGerenciamiento() {
		return estrategiaGerenciamiento;
	}
	public void setEstrategiaGerenciamiento(
			String estrategiaGerenciamiento) {
		this.estrategiaGerenciamiento = estrategiaGerenciamiento;
	}
	public InfluenciaVO getInfluencia() {
		return influencia;
	}
	public void setInfluencia(InfluenciaVO influencia) {
		this.influencia = influencia;
	}
	public ProximidadVO getProximidad() {
		return proximidad;
	}
	public void setProximidad(ProximidadVO proximidad) {
		this.proximidad = proximidad;
	}
	public ReceptividadVO getReceptividad() {
		return receptividad;
	}
	public void setReceptividad(ReceptividadVO receptividad) {
		this.receptividad = receptividad;
	}
	public CategoriaStakeholderVO getCategoriaStakeholder() {
		return categoriaStakeholder;
	}
	public void setCategoriaStakeholder(CategoriaStakeholderVO categoriaStakeholder) {
		this.categoriaStakeholder = categoriaStakeholder;
	}
	public DatosAuditoriaVO getDatosAuditoria() {
		return datosAuditoria;
	}
	
	public void setDatosAuditoria(DatosAuditoriaVO datosAuditoria) {
		this.datosAuditoria = datosAuditoria;
	}

	public String getBeneficiosProyecto() {
		return beneficiosProyecto;
	}
	public void setBeneficiosProyecto(String beneficiosProyecto) {
		this.beneficiosProyecto = beneficiosProyecto;
	}
	public String getPerjuiciosProyecto() {
		return perjuiciosProyecto;
	}
	public void setPerjuiciosProyecto(String perjuiciosProyecto) {
		this.perjuiciosProyecto = perjuiciosProyecto;
	}
	public ImpactoProyectoVO getImpactoProyecto() {
		return impactoProyecto;
	}
	public void setImpactoProyecto(ImpactoProyectoVO impactoProyecto) {
		this.impactoProyecto = impactoProyecto;
	}
	public CompromisoVO getCompromiso() {
		return compromiso;
	}
	public void setCompromiso(CompromisoVO compromiso) {
		this.compromiso = compromiso;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public DatosContactoVO getDatosContacto() {
		return datosContacto;
	}
	public void setDatosContacto(DatosContactoVO datosContacto) {
		this.datosContacto = datosContacto;
	}
	public EntendimientoRequerimientosVO getEntendimientoRequerimientos() {
		return entendimientoRequerimientos;
	}
	public void setEntendimientoRequerimientos(
			EntendimientoRequerimientosVO entendimientoRequerimientos) {
		this.entendimientoRequerimientos = entendimientoRequerimientos;
	}
	public EstadoStakeholderVO getEstado() {
		return estado;
	}
	public void setEstado(EstadoStakeholderVO estado) {
		this.estado = estado;
	}
	public ProyectoVO getProyecto() {
		return proyecto;
	}
	public void setProyecto(ProyectoVO proyecto) {
		this.proyecto = proyecto;
	}
	public ConocimientoProcesosNegocioVO getConocimientoProcesosNegocioFuncion() {
		return conocimientoProcesosNegocioFuncion;
	}
	public void setConocimientoProcesosNegocioFuncion(
			ConocimientoProcesosNegocioVO conocimientoProcesosNegocioFuncion) {
		this.conocimientoProcesosNegocioFuncion = conocimientoProcesosNegocioFuncion;
	} 
	@Override
	public boolean equals(Object stakeholder){
		if(stakeholder == null){
			return false;
		}else{
			if(stakeholder.getClass() != StakeholderVO.class){
				return false;
			}else{
				if((this.id != null) && (((StakeholderVO)stakeholder).getId() != null)){
					return Utilidad.iguales(this.id, ((StakeholderVO)stakeholder).getId());
				}else{
					if((this.id == null) && (((StakeholderVO)stakeholder).getId() == null)){
						return Utilidad.iguales(this.categoriaStakeholder, ((StakeholderVO)stakeholder).getCategoriaStakeholder());
					}else{
						return false;
					}
				}
			}
		}
	}
	
}
